Page({
  data: {
    // 分类数据（包含名称和选中状态）
    categories: [],
    // 加载状态
    loading: true
  },

  onLoad() {
    // 页面加载时获取分类数据
    this.getCategories();
  },

  // 获取分类数据
  getCategories() {
    const { get } = require('../../../utils/request.js');
    
    get('/collect/recipes/categories')
      .then(res => {
        console.log('分类数据:', res);
        if (res && res.data && res.data.length > 0) {
          // 将接口返回的数据转换为需要的格式
          const categories = res.data.map(item => ({
            name: item.name,
            checked: false,
            value: item.id
          }));
          
          this.setData({
            categories: categories,
            loading: false
          });
        } else {
          // 如果接口返回空数据，使用默认分类
          this.setDefaultCategories();
        }
      })
      .catch(err => {
        console.error('获取分类数据失败:', err);
        // 接口失败时使用默认分类
        this.setDefaultCategories();
      });
  },

  // 设置默认分类（接口失败时的备用方案）
  setDefaultCategories() {
    const defaultCategories = [
      { name: "烤箱", checked: false, value: 1 },
      { name: "蒸", checked: false, value: 2 },
      { name: "披萨", checked: false, value: 3 },
      { name: "创意菜", checked: false, value: 4 },
      { name: "快手菜", checked: false, value: 5 },
      { name: "电饭煲", checked: false, value: 6 },
      { name: "甜品", checked: false, value: 7 }
    ];
    
    this.setData({
      categories: defaultCategories,
      loading: false
    });
  },

  // 切换分类的选中状态（单选模式）
  toggleCategory(e) {
    const index = e.currentTarget.dataset.index;
    const categories = this.data.categories.map((item, i) => ({
      ...item,
      checked: i === index ? !item.checked : false // 只有当前点击的项可以切换，其他项设为false
    }));
    this.setData({ categories }); // 更新数据
  },

  // 点击"确定"按钮
  onConfirm() {
    // 获取选中的分类
    const checkedCategories = this.data.categories.filter(
      (item) => item.checked
    );

    // 如果没有选择任何分类，提示用户
    if (checkedCategories.length === 0) {
      wx.showToast({
        title: "请至少选择一个分类",
        icon: "none",
        duration: 2000
      });
      return;
    }

    // 输出选中的分类
    console.log("选中的分类：", checkedCategories);
    
    // 获取页面栈
    const pages = getCurrentPages();
    // 获取上一个页面（transmitmenu页面）
    const prevPage = pages[pages.length - 2];
    
    if (prevPage && prevPage.route.includes('transmitmenu')) {
      // 将选中的分类的value值传递给上一个页面（单选模式）
      const selectedValue = checkedCategories[0].value; // 只取第一个选中的值
      prevPage.setData({
        selectedCategory: selectedValue
      });
      
      // 显示选择成功提示
      wx.showToast({
        title: `已选择 ${checkedCategories.length} 个分类`,
        icon: "success",
        duration: 1500
      });
      
      // 延迟返回，让用户看到提示
      setTimeout(() => {
        // 返回上一个页面
        wx.navigateBack({
          delta: 1
        });
      }, 1500);
    } else {
      // 如果无法获取上一个页面，直接返回
      wx.navigateBack({
        delta: 1
      });
    }
  }
});